Comprehensive flight planning tool for a mobile device

ABSTRACT

A flight planning system for providing a flight planning tool on a client device includes a flight planning module, a weather module, and an airport module. A flight planning API is configured to communicate with the modules and client device, and receive, via client device hardware, a request for information associated with a selection of one of a plurality of tools corresponding to one of the modules. Accessing the flight planning system includes identifying a user and authorizing access to the flight planning system. The flight planning module is configured to: retrieve, based on the tool selection, information responsive to the request from at least one of a third-party device or another of the plurality of modules; generate an aviation flight plan based on the information responsive to the request; and transmit the flight plan to the client device for display via the client device.

PRIORITY CLAIM

This application is a continuation of U.S. Non-provisional applicationSer. No. 16/050,145, filed on Jul. 31, 2018, which is a continuation ofU.S. Non-provisional application Ser. No. 14/929,194, filed Oct. 30,2015, and claims priority under 35 U.S.C. § 119 to U.S. ProvisionalApplication No. 62/107,071, filed on Jan. 23, 2015, U.S. ProvisionalApplication No. 62/137,327, filed on Mar. 24, 2015, and U.S. ProvisionalApplication No. 62/073,425, filed on Oct. 31, 2014. The foregoingprovisional and non-provisional applications are hereby incorporated byreference in their entireties.

TECHNICAL FIELD

The disclosed embodiments generally relate to a flight planning toolthat assists general aviation pilots, and more particularly, acomprehensive flight planning tool provided on a mobile device thatassists general aviation pilots with planning and executing a generalaviation flight.

BACKGROUND

Modern flight planning has continued to evolve from early individualweb-based applications that separately supplied a general aviation pilotwith flight information, such as weather, aircraft performanceinformation, airport directories, and fundamental route planning to moreall-in-one-solutions. For example, mobile, in-cockpit Electronic FlightBags (EFBs) provide some information relevant to a flight, such asreal-time weather and traffic information via wireless access to remotedevices. But while current systems like EFBs may provide mobile accessto some available information, there is a need for a single, customizedsource for all critical and pertinent information necessary for a pilotto plan and execute a flight, as well as to integrate the informationacross other available platforms. Further, there is a need forinformation to be readily available to a pilot before, during, and afteran aviation flight.

In addition, the prevalence of devices that use mobile applications(e.g., smartphones, tablets, etc.) provides an avenue for acomprehensive flight planning tool to be provided in manner that allowsthe information to be readily accessible to a user, even in an on-the-gosituation. Thus, there is a need for a mobile application that providesthe above advantages.

SUMMARY

The disclosed embodiments include a device that is configured to providea flight tool mobile application and methods for the device to executethe flight tool mobile application.

In one aspect, a mobile application is disclosed for providing a flightplanning tool on a client device. The mobile application may include adata input module configured to receive, via interface hardware on theclient device, a selection of one of a plurality of selectable tools.The mobile application may further include a graphics module configuredto display, via the interface hardware, a user interface associated withthe selection. The mobile application may further include a flightplanning communication module configured transmit a request forinformation associated with the selection, via an API, to a flightplanning system, and receive, from the flight planning system via theAPI, responsive information that fulfills the request, wherein theresponsive information was generated by the flight planning system basedon information from a third-party device.

In another aspect, a method of planning a flight is disclosed. Themethod may include receiving, via interface hardware on a client device,a selection of one of plurality of selectable tools, displaying, via theinterface hardware, a user interface associated with the selection, andtransmitting a request for information associated with the selection,via an API, to a flight planning system. The method may further includereceiving, from the flight planning system via the API, responsiveinformation that fulfills the request, wherein the responsiveinformation was generated by the flight planning system based oninformation from a third-party device.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the disclosed embodiments, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate disclosed embodiments and,together with the description, serve to explain the disclosedembodiments. In the drawings:

FIG. 1 is a block diagram of an exemplary system consistent withdisclosed embodiments;

FIG. 2 is a block diagram of an exemplary server, consistent withdisclosed embodiments;

FIG. 3 is a block diagram of another exemplary system, consistent withdisclosed embodiments;

FIG. 4 is a block diagram of an exemplary mobile application device,consistent with disclosed embodiments;

FIG. 5 is a flowchart of an exemplary mobile application installationprocess, consistent with disclosed embodiments; and

FIG. 6 is an illustration of an exemplary user interface including amenu of selectable tools, consistent with disclosed embodiments;

FIG. 7 is a flowchart of an exemplary online flight tool process,consistent with disclosed embodiments;

FIG. 8 is a flowchart of an exemplary offline flight tool process,consistent with disclosed embodiments; and

FIG. 9 is an illustration of an exemplary user interface includingselectable tools, consistent with disclosed embodiments;

FIG. 10 is an illustration of an exemplary user interface includingselectable tools, consistent with disclosed embodiments;

FIG. 11 is an illustration of an exemplary user interface includingselectable tools, consistent with disclosed embodiments;

FIG. 12 is an illustration of an exemplary user interface includingselectable tools, consistent with disclosed embodiments;

FIG. 13 is an illustration of an exemplary user interface includingselectable tools, consistent with disclosed embodiments;

FIG. 14 is an illustration of an exemplary user interface includingselectable tools, consistent with disclosed embodiments;

FIG. 15 is an illustration of an exemplary user interface includingselectable tools, consistent with disclosed embodiments;

FIG. 16 is an illustration of an exemplary user interface includingselectable tools, consistent with disclosed embodiments;

FIG. 17 is an illustration of an exemplary user interface includingselectable tools, consistent with disclosed embodiments;

FIG. 18 is an illustration of an exemplary user interface includingselectable tools, consistent with disclosed embodiments; and

FIG. 19 is an illustration of an exemplary user interface includingselectable tools, consistent with disclosed embodiments.

DETAILED DESCRIPTION

Reference will now be made in detail to the disclosed embodiments,examples of which are illustrated in the accompanying drawings. Whereverconvenient, the same reference numbers will be used throughout thedrawings to refer to the same or like parts.

Disclosed embodiments pertain to a comprehensive flight planning tool,which may take the form of mobile application. The mobile applicationmay be a single-source online data fusion of all necessary resources fora general aviation pilot to accurately and competently plan a flight ina general aviation aircraft using a mobile application device (e.g.,smartphone, tablet, laptop etc.). Further, the form of a mobileapplication renders the information readily and easily available to auser, including information that is available online (e.g., informationreadily available via an Internet connection) and information that isavailable offline (information stored as part of or for use inconjunction with the mobile application).

FIG. 1 is a diagram illustrating an exemplary system 100 for performingone or more operations consistent with the disclosed embodiments. In oneembodiment, system 100 may include a flight planning system 110, aclient device 120, a third-party device 130, and a network 140. Thecomponents and arrangement of the components included in the system 100may vary. Thus, the system 100 may further include other components thatperform or assist in the performance of one or more processes consistentwith the disclosed embodiments.

Flight planning system 110 may include one or more computing systemsthat are configured to execute software instructions stored on one ormore memory devices to perform one or more operations consistent withthe disclosed embodiments. Flight planning system 110 may include one ormore of a server, a computer, an embedded system, or a dedicatedhardware device. In certain embodiments, flight planning system 110 maybe configured as a particular apparatus, system, and the like based onthe storage, execution, and/or implementation of the softwareinstructions that perform one or more operations consistent with thedisclosed embodiments.

In an exemplary embodiment, flight planning system 110 may includehardware and/or software components configured to create, store, andtransmit a variety of selectable flight planning tools. For example,flight planning system 110 may include hardware devices configured togather information which may be useful to a pilot or individualassociated with aviation. For instance, flight planning system 110 mayinclude (or be configured to communicate with) devices that includeweather data, airport data, aircraft data, pilot data, etc. Flightplanning system 110 may collect this information and perform one or moreprocesses to make it available to a user. For example, flight planningsystem 110 may be configured to provide the information to client device120 and/or third party device 130.

Client device 120 may be one or more computing systems that areconfigured to execute software instructions for performing one or moreoperations consistent with the disclosed embodiments. In someembodiments, client device 120 may be one or more of a mobile device(e.g., a tablet, smartphone, laptop, etc.), a desktop computer, aserver, an embedded system, a dedicated hardware device, etc. Clientdevice 120 may include one or more processors configured to executesoftware instructions stored in memory, such as memory included inclient device 120. Client device 120 may include software that, whenexecuted by a processor, performs known network-related communicationand content display processes. For instance, client device 120 mayexecute browser software that generates and displays interface screensincluding content on interface hardware (e.g., a display device)included in, or connected to, client device 120.

In one embodiment, client device 120 may be a laptop or desktop computerconfigured to communicate with flight planning system 110 (e.g., vianetwork 140). Client device 120 may be configured to execute softwareinstructions to display an online flight planner generated by flightplanning system 110. In one embodiment, the online flight planner may bea web-based application (e.g., website, applications, widget, etc.)through which client device 120 may provide information to a user (e.g.,information collected by flight planning system 110) and requestinformation from flight planning system 110 (e.g., generation of aflight plan).

In another embodiment, client device 120 may be a tablet or smartphoneconfigured to store and/or execute one or more mobile applications(“apps”). For example, client device 120 may be configured to run aflight planning app, which may make flight planning system 110accessible to a user (e.g., receive requests based on user input,display information received from flight planning system 10, etc.).

Third-party device 130 may be one or more computing systems associatedwith a third-party. Third-party device 130 may include one or morecomputing systems that are configured to execute software instructionsfor performing one or more operations consistent with the disclosedembodiments. For example, third-party device 130 may be as a server,computer, laptop, mobile device (e.g., tablet, smartphone, etc.), andembedded system, a dedicated hardware device, etc. While one third-partydevice 130 is shown in FIG. 1, it should be understood that system 100may include a plurality of third-party devices 130, each associated withthe same or different third-parties.

In one aspect, third-party device 130 may be associated with athird-party that determines, collects, and/or stores information relatedto aviation. For example, third-party device 130 may be associated witha weather forecaster, an aircraft manufacturer, an airport, an aircraft,an aviation regulatory entity (e.g., FAA and the like), etc., andgenerate periodic or real-time information, including pilot information,aircraft information, travel routes, custom waypoints, weather briefs,light plans, bulletins, and/or other information. In this way, flightplanning system 110 may receive real-time information throughcommunication with a selected third-party device 130.

Other information generated by third party device 130 may includereal-time alerts and/or flight restrictions. For example, third partydevice 130 may generate weather alerts associated with particularregions, airports, or flight paths as weather patterns change. Thirdparty device 130 may also generate alerts communicating critical flightinformation, such as temporary flight restrictions (TFR), notices toairmen (NOTAM), closed airport notices, etc. Such information may beofficial (published) notices from an authoritative entity (e.g., FAA) ornon-official notices (e.g., stadium TFRs).

In another aspect, third-party device 130 may be associated with athird-party that provides information to a user through client device120. For example, third-party device 130 may be associated with anentity that provides an aviation tool (e.g., a mobile app) that may beaccessed by client device 120. In some embodiments, flight planningsystem 110 may communicate with third-party device 130 to integrateinformation and resources to enhance the aviation tool provided by thethird-party.

In another aspect, third-party device 130 may include installed cockpitnavigation equipment, wireless cockpit equipment, and/or other flighttools. Such third-party devices 130 may include wired or wirelesscommunication interfaces configured to permit communication with clientdevice and flight planning system via network 140. Information generatedby such third-party devices may include flight routes, air traffic,weather information, and/or other information useful or planning flightmaneuvers.

Network 140 may be any type of network (e.g., a communication network)configured to provide communications between components of system 100.For example, network 140 may be any type of network (includinginfrastructure) that provides communications, exchanges information,and/or facilitates the exchange of information, such as the Internet, aLocal Area Network, Near Field Communication (NFC), WiFi, Bluetooth®, orother suitable connection(s) that enables the sending and receiving ofinformation between the components of system 100. In other embodiments,one or more components of system 100 may communicate directly through adedicated communication link(s) (not shown), such as a link betweenflight planning system 110 and client device 120.

FIG. 2 shows an exemplary server 211 for implementing embodimentsconsistent with the present disclosure. In an exemplary embodiment,server 211 may correspond to flight planning system 110. It should beunderstood, however, that variations of server 211 may correspond toclient device 120, third-party device 130, and/or components thereof.

In one embodiment, server 211 may include one or more processors 221,one or more memories 223, and one or more input/output (I/O) devices222. According to some embodiments, server 211 may be an embedded systemor similar computing device(s) that generate, maintain, and provide website(s) and/or mobile applications consistent with disclosedembodiments. Server 211 may be standalone, or it may be part of asubsystem, which may be part of a larger system. For example, server 211may represent distributed servers that are remotely located andcommunicate over a network (e.g., network 140) or a dedicated network,such as a LAN.

Processor 221 may include one or more known processing devices, such asa microprocessor from the Pentium™ or Xeon™ family manufactured byIntel™, the Turion™ family manufactured by AMD™ or any of variousprocessors manufactured by Sun Microsystems. The disclosed embodimentsare not limited to any type of processor(s) configured in server 211.

Memory 223 may include one or more storage devices configured to storeinstructions used by processor 221 to perform functions related todisclosed embodiments. For example, memory 223 may be configured withone or more software instructions, such as program(s) 224 that mayperform one or more operations when executed by processor 221. Thedisclosed embodiments are not limited to separate programs or computersconfigured to perform dedicated tasks. For example, memory 223 mayinclude a single program 224 that performs the functions of the server211, or program 224 could comprise multiple programs. Additionally,processor 221 may execute one or more programs located remotely fromserver 211. For example, flight planning system 110, client device 120,and/or third-party device 130, may, via server 211, access one or moreremote programs that, when executed, perform functions related tocertain disclosed embodiments. Memory 223 may also store data 225 thatmay reflect any type of information in any format that the system mayuse to perform operations consistent with the disclosed embodiments.

I/O devices 222 may be one or more devices configured to allow data tobe received and/or transmitted by server 211. I/O devices 222 mayinclude one or more digital and/or analog communication devices thatallow server 211 to communicate with other machines and devices, such asother components of system 100.

Server 211 may also be communicatively connected to one or moredatabase(s) 226. Server 211 may be communicatively connected todatabase(s) 226 through network 140. Database 226 may include one ormore memory devices that store information and are accessed and/ormanaged through server 211. By way of example, database(s) 226 mayinclude MS SQL, Oracle™ databases, Sybase™ databases, or otherrelational databases or non-relational databases, such as Hadoopsequence files, HBase, or Cassandra. The databases or other files mayinclude, for example, data and information related to the source anddestination of a network request, the data contained in the request,etc. Systems and methods of disclosed embodiments, however, are notlimited to separate databases. In one aspect, system 200 may includedatabase 226. Alternatively, database 226 may be located remotely fromthe system 200. Database 226 may include computing components (e.g.,database management system, database server, etc.) configured to receiveand process requests for data stored in memory devices of database(s)226 and to provide data from database 226.

FIG. 3 is a diagram illustrating an exemplary configuration of thecomponents of system 100, including various additional components andfeatures thereof. It should be understood that the configuration ofsystem 100 depicted in FIG. 3 is exemplary, and that otherconfigurations, including additional and/or alternative components andfeatures are possible.

In an exemplary embodiment, flight planning system 110 may includefeatures configured to generate a flight plan and/or provide the flightplan and/or aviation-related information to client device 120. Forexample, flight planning system 110 may include a plurality of modules315 and a flight plan API 318 (application programming interface).Modules 315 may serve as data sources, configured to collect and storeinformation, as well as to generate and store additional informationand/or customized tools. Flight plan API 318 may be an exemplaryinterface through which flight planning system 110 may communicate withclient device 120 and third-party device 130. That is, flight plan API318 may be configured to allow flight planning system 110 to communicatewith client device 120 and/or third-party device 130 over network 140.While flight plan API 318 is depicted and described as one interface, itshould be understood that flight plan API 318 my include a plurality ofinterfaces, such as an internal flight plan API for communicating withclient device 120 (e.g., through a website or mobile applicationassociated with flight planning system 110) and an external flight planAPI for communicating with client device 120 (e.g., through athird-party website or mobile application) and/or third-party device130.

API 318 includes a REST-based (representational state transfer)architecture or another type of architecture, if desired. API 318 may beconfigured to communicate various types of information, such as flightplant, pilot information, aircraft information, user-defined waypoints,user generated content, etc. API 318 may be device-agnostic. That is,API 318 may be configured to communicate successfully with deviceshaving various operating platforms and/or communication protocols. API318 may include encryption protocols, such as Secure Sockets Layer(SSL), to provide for secure data transmissions.

As shown in FIG. 3, client device 120 may include or embody one or moreof a plurality of client devices 325. Client devices 325 may includedevices operated by users. The users may operate client devices 325 tocause client devices 325 to communicate with flight planning system 110via flight plan API 318 and/or third-party device 130 (e.g., throughnetwork 140). Client devices 325 may receive information from flightplanning system 110 and/or third-party device 130 and display it withassociated interface hardware. Further client devices 325 may beconfigured to receive user input, and provide the user input informationto flight planning system 110 and/or third-party device 130, such as tocause those devices to provide certain information back to clientdevices 325.

Third-party device 130 may be connected to network 140 such thatthird-party device 130 may communicate with flight plan API 318 and/orclient devices 325. As shown in FIG. 3, third-party device 130 mayinclude a plurality of third-party devices 130, which each may beassociated with a different third-party entity, as described above.

In an exemplary embodiment, modules 315 may include at least a flightplanning module 332, a weather module 334, and an airport and supportdata module 336. For the purposes of this disclosure, “modules” (alsoknown as “engines”) may be implemented in software, hardware, firmware,a mix of any of those, or the like. For example, if the disclosed“modules” are implemented in software, they may be stored in a memoryassociated with flight planning system 110. Processors, I/O devices, andmemory devices may be utilized to perform processes to implement andfacilitate operations of modules 315. Thus, modules 315 may include codeinstructions executable by one or more processors, alone or in variouscombinations with other modules disclosed in this or other embodiments.For example, flight planning module 332 may be configured to interactwith weather module 334, and/or other modules of flight planning system110, shown or not shown in FIG. 3, to perform functions consistent withdisclosed embodiments. In other embodiments, if the disclosed “modules”are implemented in hardware, they may comprise an embedded system orother dedicated hardware configured by machine code, assembly code, orthe like to interact with other modules of flight planning system 110 toperform functions consistent with disclosed embodiments.

Flight planning module 332 may be configured to generate a flight plan.Flight plans may include information such as, but not limited to,departure and arrival information (e.g., date, time, location, etc.),estimated time of travel, alternate airports in case of bad weather,type of flight (e.g., IFR, VFR), pilot's information, number of peopleon board, information about the aircraft, flight route, altitude, etc.Flight routes may be geographic paths between departure and arrivallocations, and may include any waypoint in between. Flight planningmodule 332 may be configured to execute software instructions todetermine a route for a potential aviation flight. Flight planningmodule 332 may communicate with other modules 315 to collect informationthat may be used to calculate a flight route. Flight planning module 332may also communicate with third-party devices 130 (e.g., via flight planAPI 318) to collect information. Flight planning module 332 may providea generated flight plan to client device 110 for display and use by auser.

In some embodiments flight planning module 332 may include variousfeatures configured to provide an interactive flight plan. For example,flight planning module 332 may include a flight planning engine, arouting engine, and a graphics engine. The routing engine may determinea route for the flight and the graphics engine may generate interactivecharts and weather displays. The flight planning engine may combine theroute and graphics to generate an interactive flight plan for a user.

Weather module 334 may be configured to track and store informationrelated to weather that may affect aviation, such as by providing accessto a collection of real-time, forecasted and predictive weatherproducts. For example, weather module 334 may generate forecasts andpredictions based on collected weather data or may receive completedforecasts and predictions. Weather module 334 may receive data and/orforecasts from third-party devices 130 (e.g., via flight plan API 318).For example, weather module 334 may access a weather forecast systemsuch as Aircraft Owners and Pilots Association (AOPA) Weather orthird-party providers. Weather module 334 may be configured to provideweather information to flight planning module 332 for use in generatinga flight plan. Forecasts may include past forecasts, current forecasts(i.e., anticipated future weather conditions), current weatherconditions, and/or predictive forecasts.

Airport and support data module 336 may be an additional module ormodules configured to collect, generate, and/or store additionalinformation that may be pertinent to aviation, such as information thatmay be used by flight planning module 332 to create a flight plan. Forexample, airport and support data module 336 may provide informationrelated to airports, aircrafts, airlines, pilots, social media, news,aviation entities (e.g., FAA, AOPA, etc.), and the like. Airport andsupport data module 336 may connect to third-party devices 130associated with this information (e.g., via flight plan API 318) togather and store information that may be used by flight planning module332 and/or provided to client device 110 and/or a third-party device130.

Exemplary features of airport and support data module 336 may includeflight planning resources such as an airport directory (e.g., throughaccess to a full AOPA airports directory), weight and balanceinformation, temporary flight restrictions, user-generated content,pilot and aircraft logbooks, manuals and instructions, calendars, etc.Further, while depicted and described with respect to airport andsupport data module 336, it should be understood that other componentsof flight planning system 110 may additionally, alternatively, and/orwork in combination with airport and support data module 336 to providethese features.

In addition to modules 315, flight planning system 110 may include or beconnected to at least one database 340. Database 340 may containrelevant pilot, aircraft, and flight planning information that may beused by one or more components of system 100, such as flight planningmodule 332. Flight plan API 318 may be configured to retrieveinformation from database 340 for modules 315, client devices 325,and/or third-party devices 130. In an exemplary embodiment, database 340may be an SQL database, but is not limited thereto.

Client devices 325 may include any client computing device configured tocommunicate with flight planning system 110 and/or a third party device130. In an exemplary embodiment, client devices 325 may include onlineflight planner devices 352, mobile application devices 354, andthird-party application devices 356. It should be understood that theserepresentations of client devices 325 are made for convenience ofdiscussion, and that they may overlap (i.e., a mobile application device354 and a third-party application device 356 may be the same device).

Online flight planner devices 352 may be client devices 352 that areconfigured to communicate with flight planning system 110 to provide aweb-based flight planning tool to a user. For example, online flightplanner devices 352 may be laptop, desktop computer, notebook, tablet,smartphone, smartwatch, etc. configured to access a website (or otherweb-based application) provided by flight planning system 110. Thewebsite may provide access to a comprehensive flight planning toolprovided by flight planning system 110.

Mobile application devices 354 may be client devices 325 that areconfigured to execute a mobile flight planning application. The mobileflight planning application may be a similar tool to the websiteaccessible by online flight planner devices 352; however, it may becustomized for use by a mobile device, including software that may bestored by mobile application devices 354. The mobile flight planningapplication may also provide access to a comprehensive flight planningtool provided by flight planning system 110.

Third-party application devices 356 may be client devices 325 that aresimilar to online-flight planner devices 352 and/or mobile applicationdevices 354. For example, third-party application devices 356 may haveweb access and/or be configured to execute a mobile application.Regardless, third-party application device 356 may differ in that theyconnect to a third-party device 130 for receiving information through awebsite or mobile application. For example, third-party applicationdevices 356 may include client devices 325 that store and execute asocial media platform provided by a third-party device 130. In anexemplary embodiment, flight planning system 110 may be configured tocommunicate with the associated third-party device 130 such that flightplanning information may be combined with the third-party application toprovide an integrated service to a user through a third-partyapplication device 325.

FIG. 4 depicts an exemplary mobile application device 354 in moredetail, consistent with disclosed embodiments. Mobile application device354 may include memory hardware 410, processing hardware 420, andinterface hardware 430. Other features of mobile application device 354may include a location device (e.g., a GPS device) configured todetermine a location of mobile application device 354, and may alsoinclude a connection device configured to wirelessly connect to network140 (e.g., a cellular communication device, Wi-Fi Device, Bluetooth®device, etc.). Although FIG. 4 depicts mobile application device 354 forpurposes of this description, it is noted that other client devices 325,such as online flight planner devices 352 and third-party applicationdevices 356, may include components described with reference to mobileapplication device 354, such as memory hardware 410, processing hardware420, interface hardware 430, and any other hardware or softwaredescribed with reference to mobile application device 354.

Mobile application device 354 may be configured to execute a mobileapplication 450 stored in memory hardware 410. For example, mobileapplication device 354 may be a smartphone or tablet configured to run amobile operating system (e.g., iOS, Android, etc.) which may becompatible with a variety of mobile applications provided by third-partyproviders. In an exemplary embodiment, mobile application 450 is acomprehensive flight planning tool. In other words, mobile applicationdevice 354 may be configured to provide a comprehensive flight planningtool to a user of mobile application device 354 via mobile application450.

It is noted that mobile application 450 is not limited to use withmobile application device 354. Mobile application 450 may be used withother client devices, such as online flight planner devices 352,third-party application devices 356, and/or other client devices 325.Mobile application 450 may be appropriately configured for used withonline flight planner devices 352, mobile application devices 354,third-party application devices 356, or any other client device 325. Forexample, mobile application 450 may be configured to be used inconjunction with web-based or web-browsing software, self-containedapplication software (i.e., an app), or third-party software accessiblethrough web-based or self-contained software.

Mobile application device 354 may operate in conjunction with otherdevices in order to provide the comprehensive flight planning tool. Forexample, mobile application device 354 may communicate with flightplanning system 110 and one or more third-party devices 130 via network140. In one example, mobile application device 354 may communicate withflight planning system 110 to initially install mobile application 450.

Mobile application 450 may include a plurality of modules configured toprovide various functions to mobile application device 354. For example,mobile application 450 may include a data input module, a graphicsmodule, and a flight planning communication module. Other modules mayinclude an airports module, weather module, flight plan module, and thelike. The modules may be implemented as hardware, software of acombination thereof.

In addition, the modules may operate in conjunction with the othercomponents of mobile application device 354. For example, a data inputmodule may receive information from interface hardware 430, a graphicsmodule may display information via interface hardware 430, and a flightplanning communication module may utilize a communication device tocommunicate with flight planning system 110.

FIG. 5 is a flowchart of an exemplary mobile application installationprocess 500. In one embodiment, mobile application device 354 mayexecute instructions via processing hardware 420 perform process 500 toinstall mobile application 450 on mobile application device 354. Process500 may allow for mobile application 450 to be initially set up onmobile application device 354 such that the comprehensive flightplanning tool may be readily available to a user of mobile applicationdevice 354.

Mobile application device 354 may connect to a third-party device 130that is a mobile application distributor (step 510). For example, mobileapplication device 354 may execute instructions to connect to a mobileapplication “store” that allows for the selection of one or more mobileapplications from a directory of available mobile applications fordownloading to mobile application device 354. In some alternativeembodiments, mobile application device 354 may connect to flightplanning system 110 to download mobile application 450.

Mobile application device 354 may provide a selection of mobileapplication 450 to third-party device 130 (step 520). For example,mobile application device 354 may receive a selection via interfacehardware 430 of a mobile application 450 that includes the comprehensiveflight planning tool and transmit the selection to third-party device130. If a fee is required to download mobile application 450, mobileapplication device 354 may provide payment information to third-partydevice 130.

Mobile application device 354 may receive mobile application data fromthird-party device 130 to use to install mobile application 450 (step530). For example, mobile application 356 may receive installation datafrom third-party device 130 via network 140 and store the installationdata in memory hardware 410. After installation is complete, an icon maybe available via interface hardware 430 for a user to select mobileapplication 450.

Mobile application device 354 may execute mobile application 450 toconnect to flight planning system 110 via flight plan API 318 (step540). The connection to flight planning system 110 may allow mobileapplication device 354 to access the resources available from flightplanning system 110. In some embodiments, mobile application device 354may register a user with flight planning system 110. Additionally oralternatively, mobile application device 354 may allow a user to sign into a pre-existing account that identifies the user and authorizes mobileapplication device 354 to access (via, e.g., flight plan API 318) flightplanning system 110 when mobile application 450 is executed.

Through the above exemplary process 500, mobile application device 354may connect to flight planning system 110 via execution of mobileapplication 450, such that a user may be provided with a comprehensiveflight planning tool. Exemplary features of the mobile application and,thus, the comprehensive flight planning tool, are described in moredetail below.

FIG. 6 is an exemplary user interface 600 that may be provided viainterface hardware 430 of mobile application device 354. User interface600 may be a menu of mobile application 450 that provides the user witha variety of options for tools 610 that may be useful in the preparationand/or execution of an aviation flight. These tools may include toolsthat are available online (e.g., available when mobile applicationdevice 354 is connected to flight planning system 110 or a third-partydevice 130) and tools that are available offline (e.g., available evenif mobile application device 354 is not connected to another device).

User interface 600 includes one example of a possible selection ofselectable tools 610 that may be available to the user via mobileapplication 450. It should be understood that more, less, and/oralternative tools 610 may be provided, and/or the tools 610 may bearranged in another configuration than the exemplary configurationshown.

As shown in FIG. 6, tools 610 may include an airports tool 620, aweather tool 630, a flight planning tool 640, a settings tool 650, adownloads tool 660, and a help tool 670. A user may operate mobileapplication device 354 to select a tool 610 (e.g., via interfacehardware 430), which may cause mobile application device 354 to executeinstructions to provide one or more features associated with theselected tool 610.

FIG. 7 is a flowchart of an exemplary online flight tool process 700,consistent with disclosed embodiments. In one embodiment, mobileapplication device 354 may execute instructions associated with mobileapplication 450 via processing hardware 420 to perform process 700 inorder to provide a user with information that is not stored on mobileapplication device 354.

Mobile application device 354 may connect to flight planning system 110via flight plan API 318 (step 710). For example, mobile applicationdevice 354 may receive, via interface hardware 430, identifyinginformation (e.g., user account information) for use in authorizing aconnection between mobile application device 354 and flight planningsystem 110. It should be understood that, in some instances, mobileapplication device 354 may additionally or alternatively connect to athird-party device 130 to receive online information in a similarmanner.

Mobile application device 354 may transmit a request for information viaflight plan API 318 (step 720). For example, mobile application device354 may request airport information, weather information, flightplanning information, and/or any other information that may be availablefrom flight planning system 110. Flight planning system 110 may receivethe request, locate the information requested, and access theinformation requested from one or more memory devices. In someembodiments, flight planning system 110 may communicate with athird-party device 130 (e.g., via flight plan API 318) to locaterequested information (e.g., communicate with a weather provider toreceive weather information).

Mobile application device 354 may receive the requested information fromflight planning system 110 via flight plan API 318 (step 730). Mobileapplication device 354 may display the received information viainterface hardware 430. Mobile application device 354 may receiveadditional input from a user and may further communicate with flightplanning system 110 (and/or a third-party device 130) to request andreceive additional information.

Through exemplary process 700, mobile application device 354, via mobileapplication 450, may provide a user with a variety of tools that areuseful for the preparation and/or execution of an aviation flight.Examples of such tools include access to all information associated withany airport, aviation weather updates and weather images, the ability tocreate, modify, and file flight plans (e.g., with an officialorganization, such as the FAA), as well as provide access to informationrelated to any other activities associated with a general aviationflight.

FIG. 8 is a flowchart of an exemplary offline flight tool process 800,consistent with disclosed embodiments. In one embodiment, mobileapplication device 354 may execute instructions associated with mobileapplication 450 via processing hardware 820 to perform process 800 toprovide a user with information that is available even when mobileapplication device 354 is offline (e.g., not connected and/or not ableto be connected to flight planning system 110).

Mobile application device 354 may request information from flightplanning system 110 and/or a third-party device 130 (step 810). Forexample, mobile application device 354 may request a download of airportinformation, weather information, runway information, etc., via flightplan API 318. Mobile application device 354 may receive the informationresponsive to the request from, e.g., flight planning system 110 viaflight plan API 318 (step 820).

Mobile application device 354 may store the received information inmemory hardware 410 (step 830). For example, mobile application device354 may store received data associated with the information requested.In one example, mobile application device 354 may store an airportdirectory in memory hardware 410.

Mobile application device 354 may subsequently access stored informationand display it via interface hardware 430 (step 840). For example, auser may request information associated with an airport, which may berecalled by mobile application device 354 from memory hardware 410. Inthis way, the information may be accessible to the user even when mobileapplication device 354 is not connected (or incapable of beingconnected) to flight planning system 110 (e.g., mobile applicationdevice 354 cannot connect to network 140).

Through exemplary disclosed processes 700 and 800, mobile applicationdevice 354 may provide a user with access to any flight planninginformation that may be useful in the preparation and/or execution of ageneral aviation flight. Further, the ability of mobile applicationdevice 354 to access all of this information via mobile application 450connected to flight plan API 318 allows for a comprehensive source ofinformation for a user at one location (e.g., client device 120).Further examples of the information and tools that may be available viamobile application 450, including the tools 610 shown in FIG. 6, aredescribed in more detail below.

Further, it should be understood that the above processes may be usedand repeated to navigate through mobile application 450 and use thetools 610. For example, mobile application device 354, via processinghardware 420, may continuously receive input from a user, provide inputto flight plan API 318 (and/or an internal memory recall system),receive requested information, and display the information via interfacehardware 430.

FIGS. 9-13 depict exemplary user interfaces (e.g., 900, 1000, 1100,1200, and 1300) that further illustrate the various features that may beavailable via airports tool 620. In general, airports tool 620 mayprovide a user with access to a directory of airport information. Thedirectory of airport information may include any information associatedwith an airport (and/or other similar location, such as a helipad,emergency runway, etc.) It should be understood that the features shownare exemplary and that other features may be provided.

User interface 900 includes an example of an airports list 910 that mayinclude a list of selectable airports 920. The selectable airports 920may correspond to actual airports for which information is available.While not shown, it should be understood that various search tools maybe available to a user to find a particular airport, such as searchbars, drop-down menus, etc., that allow a user to narrow a search to aparticular area (e.g., airports within a state, near a city, etc.), nameof airport, previously viewed airports, etc.

Each selectable airport 920 may include a preview of informationassociated with that airport. For example, airport location, airportcode, max runway length, navigational aids, elevation, among otherthings, may be displayed to immediately provide some information to auser, perhaps aiding in selection of an airport for use in a flightand/or flight plan.

User interfaces 1000, 1100, 1200, and 1300 include information that maybe displayed to a user after a selectable airport 920 has been selected.For example, user interface 1000-1300 may be various sections of adedicated page associated with a selected airport 920. The dedicatedpage may include even more detailed information about the selectedairport 920, such as an airport diagram (not shown), a runway diagram(user interface 1000), detailed airport characteristics (user interface1100), communications information (user interface 1200), runway detailinformation (user interface 1300), among other information that may beuseful (e.g., maps, navigation aids, weather information, etc.). Inaddition, various third-party resources may be made available, such asairport contact information, local business information (car rentallocations, restaurants, etc.), and the like.

In some embodiments, airports tool 620 may be configured to providecustomized information. For example, airports tool 620 may provideinformation based on a location of mobile application device 354. Thisinformation may include a list of airports that are nearby, distances tothose airports, travel time to those airports, etc.

Airports tool 620 provides a user with a comprehensive and detaileddirectory of airport information that may be useful in planning ageneral aviation flight (e.g., determining which airports to use) and inexecuting a general aviation flight (e.g., using navigation aids,contacting the airport, finding an emergency runway, etc.). Further, therunway directory may be downloaded to the memory hardware 410 of mobileapplication device 354, thereby allowing the information to beaccessible even if mobile application device 354 cannot connect toflight planning system 110.

The airport directory information may include, for example, airportprocedures, airport diagram thumbnails and corresponding full-sizediagrams (e.g., FAA airport diagrams), airport services, available fuel,and/or other information. Information generated by an airport (e.g., byits staff) or a governing body (e.g., FAA) pertaining to the airport mayalso be available in the airport directory information. For example,information, including comments, messages, bulletins, and/or otherremarks, from airport staff or the FAA, runway obstruction notices, ortemporary procedural changes may be posted the directory in connectionwith a particular airport.

Directory information may be viewed in one or more different formats viaa user interface. For example, director information may be vied infull-page views, thumbnails, printable formats (e.g., kneeboard formats,full page, etc.), screen overlays, etc. Overlays may be positioned overother screens and include information relevant to the underlying screen.For example, an overlay over screen showing a travel route may includeinformation indicative of, for example, fuel available along the route,airports along the route, airport services along the route, etc.

Directory and other information (e.g., flight plant info, NavLog info,etc.) useful for planning or carrying out flight plans may also beavailable for browsing, searching, downloading, printing, and sharing(e.g., via email, social media, etc.). For example database informationand/or third-party source information may include resources, such ascommunication frequencies, waypoint information, fuel statistics, dateand time information (e.g., time zone information, date conventions,etc.), Morse Code information, ground communication frequencies, and/orother information. Such information may be available to viewelectronically (e.g., via live feed, via download, etc.), for printing(e.g., full view, kneeboard format, etc.), or for sharing. It is notedthat available information is not limited to types of informationdiscussed above and may include other or additional types ofinformation.

Such information may also include advertising information displayed viauser interfaces or overlays. For example, advertisement interfaces maybe displayed (e.g., based on a user selection of a certain interfaceview, based on a determination that a flight has ended, etc.) that areconfigured to redirect users to websites, apps, or other interfaces toview additional information.

FIGS. 14-16 depict exemplary user interfaces (e.g., 1400, 1500, and1600) that further illustrate the various features that may be availablevia weather tool 630. In general, weather tool 630 may provide a userwith ready access to any weather information that may be useful in thepreparation and/or execution of a flight plan. For example, weather tool630 may provide a user with current weather and future weatherforecasts, including precipitation, wind, pressure, cloud cover,temperatures, visibility, etc. This information may help a userdetermine a safe and/or effective time and/or path for a flight.

User interface 1400 includes an exemplary list of selectable locationsfor receiving weather information. For example, as shown, a region,country, etc., may be selected. Further user interfaces may provide moredetailed location options, such as city, airport, etc. Other options forfinding weather information associated with a specific location, such asa search bar for a user to input a location, may also be available viaweather tool 620.

User interface 1500 includes an example of an array of types of weathermaps that may be available for a selected location. The weather maps maybe selectable via interface hardware 430. User interface 1600 includesan example of a selected weather map, which includes a larger version ofthe map and additional information.

In some embodiments, weather tool 630 may be configured to providecustomized information. For example, weather tool 630 may provideinformation based on a location of mobile application device 354. Thisinformation may include nearby weather information (e.g., weather atnearby airports, nearby aviation conditions, etc.).

Weather tool 630 may provide a user with any and all desired weatherinformation such that the user is apprised of important environmentalconditions that may affect an upcoming or current flight. Theinformation may include ground and weather information in local,regional, and national scope, depending on the user's desire. Mobileapplication device 354 may display the weather information in graphicaland/or textual formats, as appropriate, and may be selected by a user orbased on a location of mobile application device 354. Weather tool mayalso be configured to allow users to enter relevant weather informationvia user forms (e.g., dropdown menus, text bars, radio buttons, etc.) toquickly and easily generate and retrieve pilot weather reports (PIREP)and aircraft weather reports (AIREP).

As described herein, mobile application device 354 may communicate withflight planning system 110 to receive weather information and/or mayconnect to a third-party device 130 to receive the information (and/orsupplemental information). Further, some weather information may bedownloaded and stored in memory hardware 410 such that it is availableto the user offline.

FIGS. 17-19 depict exemplary user interfaces (e.g., 1700, 1800, and1900) that further illustrate the various features that may be availablevia flight planning tool 640. In general, flight planning tool 640includes features that allow a user to plan a flight route and/or carryout the flight. For example, flight planning tool 640 may includefeatures that allow a user to create a flight plan, modify a flightplan, recall a saved flight plan, file a flight plan with an officialorganization (e.g., the FAA), and the like.

User interface 1700 includes an exemplary created flight plan. Theflight plan may include all information that may be useful to the userto allow the user to carry out the flight. The information may include,for example, origination location, destination location, flight plantype, distance, aircraft, aircraft color, etc. Navigation loginformation may also be stored as part of the flight plan. Userinterface 1800 includes an example of a list of flight plans (e.g.,previous and/or upcoming flight plans) that may be recalled and used bya user. Each flight plan may be selected for storage on mobileapplication device 354 such that the information may be accessibleoffline.

User interface 1900 includes a resource for a flight plan to be filedwith an official organization (or any desired destination), such as theFAA. This allows a user to properly and easily receive approval toexecute a flight plan. The filing resource may include an option for theuser to enter all pertinent information regarding the flight plan and anoption to file the flight plan. The filing resource may allow users tofile domestic/FAA or ICAO (International Civil Aviation Organization)flight plans. Mobile application device 354 may communicate with flightplanning system 110 (e.g., via flight plan API 318) to file the flightplan, or mobile application device 354 may communicate directly with athird-party device 130.

Flight planning tool 640 may also be configured to allow users torequest and retrieve other information from authorized filing agencies.For example, flight planning tool 640 may also be configured to allowusers to enter weather briefing requests and retrieve them from theauthorized agency (e.g., FAA).

Flight planning tool 640 may also provide flight tracking information.For example, mobile application device 354 may collect informationduring a flight and store the information in a log. Mobile applicationdevice 354 may communicate with another device, such as to automaticallyupdate a pilot's log.

Flight planning tool 640 may provide a user with an integrated tool thatallows for creation of a flight plan using all available resources(airport information, weather information, etc.), modification of theflight plan, saving of the flight plan, and filing of the flight planwith an appropriate governmental agency or government designatedprovider (e.g., FAA), among other options, all in a single tool ofmobile application 450. As another feature, flight planning tool 640 mayinclude a flight plan sharing tool. For example, flight planning system110 may save user-created flight plans to a database and make thedatabase accessible to users of mobile application 450. Other featuresmay include stored pilot profiles, aircraft profiles, weatherinformation, etc.

Settings tool 650 may allow a user to select certain user preferences tocustomize the experience of using mobile application 450. For example,settings tool 650 may allow a user to select which types of airports areshown (e.g., whether to include private airports, helipads, etc.),weather preferences, preferred fuel type, and account information, amongother options.

Downloads tool 660 may provide access options for mobile applicationdevice 354 to download information that may be used offline. Forexample, downloads tool 660 may provide an option for mobile applicationdevice 354 to download an airports directory, a runway diagramsdatabase, etc. Downloads tool 660 may also provide information regardingwhether mobile application device 354 has downloaded the most recentversion of certain information.

Help tool 670 may provide technical information that may assist a userin using mobile application 450. For example, help tool 670 may includecontact information for a provider associated with mobile application450, frequently asked questions, etc.

While tools 610 have been described as separate tools, it should beunderstood that one or more tools 610 and/or various features thereofmay be integrated to provide a more comprehensive experience as eachtool 610 is used. For example, information associated with an airportselected using airports tool 620 may include weather information fromweather tool 630. In another example, a flight plan accessed throughflight planning tool 640 may include airport information from airportstool 620. Preferences from settings tool 650 may be integrated with oneor more other tools 610 to provide the preferences. Thus, it should beunderstood that the configuration of tools 610 is exemplary and couldtake other forms to provide the same tools and information.

Further, other tools may be provided within tools 610 and/or as separatetools for the user. For example, a fueling tool may provide location,availability, and pricing of aviation fuel. The fueling tool may providefuel information relating to available fuel in certain areas (e.g., at aplurality of airports, airport-affiliated suppliers, third-partysuppliers, etc.) and include information posted by other users relatingto fuel prices at certain location. Fuel the fuel tool may includeinformation on various types of fuel available at particular locations,such as 100-LL (avgas), Jet A, MoGas (automotive grade), and others. Thefuel tool may also include search functionality to allow users toquickly find the location of desired fuel. For example, the fuel toolmay include user forms, such as dropdown menus, radio buttons, and textbars, which allow the user to search and/or filter information by fueltype, price (e.g., maximum, minimum, range, etc.), distance (e.g., froma current location, along a route, from a destination, etc.), vendortype (e.g., public, private, etc.), or other information.

A social integration tool may allow a user to share information frommobile application 450 with others through a social media platform. Forexample, photos, locations, attractions, services, flight plans, etc.may be shared to social media through mobile application 450. Similarly,mobile application 450, through communication with flight planningsystem 110, may allow sharing of user-submitted content such as photos,comments, fuel prices, flight plans, etc. Other information receivedand/or stored by flight planning system 110 may also be shared withusers of mobile application devices 354, such as pilot information,aircraft information, custom waypoints, flight plans, temporary flightrestrictions, emergency notifications, etc.

Other tools provided by mobile application 450 may include template andcustomizable pilot and aircraft checklists, weight and balancecalculators and resources, safety of flight calculators, calendar andreminders, pilot events and activities, etc.

For example, mobile application 450 may be configured to allow users toprint or fill out existing or downloadable checklist forms on userinterfaces. In this way, users may be allowed to easily check offpre-flight, in-flight, and post-flight checklist items. Mobileapplication 450 may allow users to access a library of common checklistsfor common aircrafts (e.g., stored in conjunction with third-partydevice 130, user database 340, memory hardware 410, or other mediastorage) that may be viewed or downloaded via mobile application device354. Mobile application 450 may also allow users to modify existingchecklists, create new checklists from available templates, or createnew checklists from scratch in via one or more user interfaces inconjunction with interface hardware 430.

In another aspect, mobile application may be configured to allow usersto monitor aircraft loading with respect to passenger and cargo loads.For example, signals generated by sensors (e.g., contact/pressuresensors, optical sensors, infrared sensors, barcode sensors, lasersensors, etc.) associated with passenger seats, cargo compartments,and/or other aircraft structural components may be received fromthird-party devices 130 and translated into loading data. Such data mayinclude weight values, qualitative indicia (e.g., colors, shapes,textures, etc.), and or other visual indicator that may be displayed viainterface hardware 430. The data may be communicable in conjunction witha library known aircraft geometries and capacities. In this way, theuser may be able to quickly identify opportunities to optimize weightdistribution and confirm that loading values are within ranges, forexample, as provided by an aircraft pilot's operating handbook (POH).

In another aspect, third-party device 130 may be a schedule organizerand may receive flight plan and other information to update a calendar.The calendar may include events associated with, for example, airports(e.g., scheduled closures, social events, fuel deliveries, etc.),aircrafts (e.g., scheduled maintenance, recurring flights, etc.), and/orassociated personnel. In one aspect, the calendar may also includeinformation that may be used to plan a full trip, such as hotelreservations, local attractions, entertainment, points of interest,and/or other information. Such information may be displayed on acalendar in a user interface, and the information may be displayed incoordination with received flight plant information (e.g., currentlocation, destination location, current/future date and time, etc.).Other content from other third-party sources may be included, asdesired.

Calendar information may be used to generate reminders. For example, areminder may be created regarding a scheduled event at a desired timeprior to the event. The reminder may be configured as a pushnotification or other type of visible reminder on client device 120. Inthis way, pertinent information may be brought to the user's attentionas the events become relevant based on time, location, and/or otherascertainable variables.

In another aspect, third-party device 130 may be a social media platformconfigured to receive information from flight planning system 110 and/orclient device 120, such as flight plans, pictures, schedules, locations,events, etc. Certain information may be automatically or conditionallysubmitted in the second request to the flight planning entity via theflight planning system based on the user inputs (e.g., based on a userpermission or preference, based on a category of information, etc.) sentto social media platforms, such as calendar events, notices of flightarrivals and/or departures (e.g., including time, date, location, etc.),flight plan details, and/or other information.

The above-described mobile application 450 provides a user with acomprehensive flight planning tool that allows for a user to easilyaccess any and all information necessary for the planning and/orexecution of an aviation flight. Mobile application 450 may work inconjunction with other software and/or hardware systems (e.g., websites)that provide access to the same resources (e.g., pilot profileinformation, aircraft profile information, flight plans, etc.) toprovide real-time access to information from multiple locations (e.g.,mobile and website). Further, connection to flight plan API 318 allowsmobile application device 354 to communicate with appropriatethird-party devices 130 to further receive information (e.g., weather)and send information (e.g., file flight plans). In addition, the abilityto store information locally in memory hardware allows the informationto be accessed offline, for instance when no network connection isavailable. When a network connection is available, the mobileapplication provides custom information, such as airport information,weather information, etc., based on a location of mobile applicationdevice 354.

The exemplary disclosed embodiments allow for the accumulation andavailability of all information that may be useful in aviation, such asflight planning or flying. The configuration and components (e.g.,mobile application 450, flight plan API 318) of the disclosedembodiments allow this information to be provided to and used by a user,through a mobile application on a mobile device. The mobile applicationincludes a variety of tools that combine to provide a comprehensiveflight planning tool that is readily available to and easily accessed bya user.

Computer programs created on the basis of the written description andmethods of this specification are within the skill of a softwaredeveloper. The various programs or program modules can be created usinga variety of programming techniques. For example, program sections orprogram modules can be designed in or by means of Java, Objective C,C++, Java script, assembly language, or any such programming languages,including third-party libraries. One or more of such software sectionsor modules can be integrated into a computer system, computer-readablemedia, or existing communications software.

Moreover, while illustrative embodiments have been described herein, thescope includes any and all embodiments having equivalent elements,modifications, omissions, combinations (e.g., of aspects across variousembodiments), adaptations or alterations based on the presentdisclosure. The elements in the claims are to be interpreted broadlybased on the language employed in the claims and not limited to examplesdescribed in the present specification or during the prosecution of theapplication, which examples are to be construed as non-exclusive.Further, the steps of the disclosed methods can be modified in anymanner, including by reordering steps or inserting or deleting steps. Itis intended, therefore, that the specification and examples beconsidered as example only, with a true scope and spirit being indicatedby the following claims and their full scope of equivalents.

1-20. (canceled)
 21. A client device for communicating with a flightplanning system, comprising: a computing system configured to executesoftware instructions, the computing system including: a memory devicestoring software instructions; a processor configured to execute thesoftware instructions stored in the memory device to communicate withthe flight planning system; a flight planning application stored in thememory device, wherein the processor is configured to execute the flightplanning application to access the flight planning system via a flightplanning application program interface (API), wherein accessing theflight planning system includes identifying a user and authorizingaccess to the flight planning system via the flight planning API whenthe flight planning application is executed; a display device comprisinginterface hardware configured to display interface screens generated bythe flight planning application; wherein, when executed, the flightplanning application is configured to: access a server of the flightplanning system, the server including a plurality of modules comprisinga flight planning module, a weather module, and an airport module;communicate, via the API, a request for information based on a selectionof one of a plurality of tools corresponding to one of the plurality ofmodules, the selection received via the interface hardware; receive,from the flight planning system via the API, an aviation flight plangenerated using responsive information that fulfills the request,wherein the responsive information was generated by the flight planningsystem based on information from a third-party device; and display theaviation flight plan via the interface hardware.
 22. The client deviceof claim 21, wherein the client device is a mobile application device.23. The client device of claim 22, wherein the mobile application deviceis a smartphone, a tablet, or a laptop computer.
 24. The client deviceof claim 21, wherein the client device is a desktop computer, a server,an embedded system, or a dedicated hardware device.
 25. The clientdevice of claim 21, wherein the flight planning application is aself-contained application stored on the client device.
 26. The clientdevice of claim 21, wherein the flight planning application isconfigured to be used in conjunction with web-browsing software.
 27. Theclient device of claim 21, wherein the flight planning application isconfigured to be used in conjunction with third-party softwareaccessible through web-based or self-contained software.
 28. The clientdevice of claim 21, wherein the flight planning application includes adata input module, a graphics module, or a flight planning communicationmodule.
 29. The client device of claim 28, wherein the data input moduleis configured to receive information from the interface hardware, thegraphics module is configured to display information via the interfacehardware, and the flight planning communication module is configured toutilize a communication device to communicate with the flight planningsystem.
 30. The client device of claim 21, wherein processor configuredto execute the software instructions stored in the memory device toaccess a mobile application distributor and allow download of the flightplanning application to the client device.
 31. A method of using aclient device for communicating with a flight planning system,comprising: executing software instructions via a computing system ofthe client device that includes: a memory device storing softwareinstructions; a processor configured to execute the softwareinstructions stored in the memory device to communicate with the flightplanning system; storing a flight planning application in the memorydevice; executing the flight planning application using the processor toaccess the flight planning system via a flight planning applicationprogram interface (API), accessing the flight planning system byidentifying a user and authorizing access to the flight planning systemvia the flight planning API when the flight planning application isexecuted; executing the flight planning application d to: access aserver of the flight planning system, the server including a pluralityof modules comprising a flight planning module, a weather module, and anairport module; communicate, via the API, a request for informationbased on a selection of one of a plurality of tools corresponding to oneof the plurality of modules, the selection received via the interfacehardware; receive, from the flight planning system via the API, anaviation flight plan generated using responsive information thatfulfills the request, wherein the responsive information was generatedby the flight planning system based on information from a third-partydevice; and display the aviation flight plan via interface hardware of adisplay device.
 32. The method of claim 31, wherein the client device isa mobile application device.
 33. The method of claim 32, wherein themobile application device is a smartphone, a tablet, or a laptopcomputer.
 34. The method of claim 31, wherein the client device is adesktop computer, a server, an embedded system, or a dedicated hardwaredevice.
 35. The method of claim 31, wherein the flight planningapplication is a self-contained application stored on the client device.36. The method of claim 31, further comprising using the flight planningapplication in conjunction with web-browsing software.
 37. The method ofclaim 31, further including using the flight planning application inconjunction with third-party software accessible through web-based orself-contained software.
 38. The method of claim 31, wherein the flightplanning application includes a data input module, a graphics module, ora flight planning communication module.
 39. The method of claim 38,further comprising at least one of: receiving information from theinterface hardware via the input module; displaying information via thegraphics module to display information using the interface hardware; orutilizing a communication device to communicate with the flight planningsystem via the flight planning communication module.
 40. The method ofclaim 31, further comprising executing the software instructions storedin the memory device via the processor to access a mobile applicationdistributor and allow download of the flight planning application to theclient device.